基于阿里云向量检索 Milvus 版与 PAI 搭建高效的检索增强生成(RAG)系统
“ 阿里云向量检索 Milvus 版现已无缝集成于阿里云 PAI 平台,一站式赋能用户构建高性能的检索增强生成(RAG)系统。您可以利用 Milvus 作为向量数据的实时存储与检索核心,高效结合 PAI 和 LangChain 技术栈,实现从理论到实践的快速转化,搭建起功能强大的 RAG 解决方案。”
背景信息
随着 AI 技术的飞速发展,生成式人工智能在文本生成、图像生成等领域展现出了令人瞩目的成就。然而,在广泛应用大语言模型(LLM)的过程中,一些固有局限性逐渐显现:
领域知识局限:大语言模型通常基于大规模通用数据集训练而成,这意味着它们在处理专业垂直领域的具体应用时可能缺乏针对性和深度。
信息更新滞后:由于模型训练所依赖的数据集具有静态特性,大模型无法实时获取和学习最新的信息与知识进展。
模型误导性输出:受制于数据偏差、模型内在缺陷等因素,大语言模型有时会出现看似合理实则错误的输出,即所谓的“大模型幻觉”。
为克服这些挑战,并进一步强化大模型的功能性和准确性,检索增强生成技术 RAG(Retrieval-Augmented Generation)应运而生。这一技术通过整合外部知识库,能够显著减少大模型虚构的问题,并提升其获取及应用最新知识的能力,从而实现更个性化和精准化的 LLM 定制。
RAG 技术架构的核心为检索和生成。其中,检索部分采用了高效的向量检索引擎和向量数据库技术,例如基于开源库 Faiss、Annoy 以及 HNSW 算法优化构建的 Milvus 系统,极大地提升了对大规模数据进行快速检索和精确分析的能力。这样的设计使得RAG能够在必要时即时调用相关领域或最新信息,有效弥补了传统大语言模型的不足之处。
前提条件
已创建 Milvus 实例,并配置了公网访问。具体操作请参见快速创建Milvus实例和网络访问与安全设置。
快速创建Milvus:https://c.tb.cn/F3.bTSz5E
网络访问与安全设置:https://c.tb.cn/F3.bTr1Sz
已开通 PAI(EAS)并创建了默认工作空间。具体操作,请参见开通PAI并创建默认工作空间。
开通PAI并创建默认工作空间:https://c.tb.cn/F3.bTNveI
使用限制
Milvus 实例和 PAI(EAS)须在相同地域下。
操作流程
▶ 步骤一:通过 PAI 部署 RAG 系统
进入模型在线服务 EAS。
登录 PAI控制台。
https://c.tb.cn/F3.bTLLdz
在左上角顶部菜单栏选择目标地域。
在左侧导航栏选择模型部署>模型在线服务(EAS),在下拉框中选择目标工作空间后单击进入EAS。
在 PAI-EAS 模型在线服务页面,单击部署服务
在部署服务页面,选择大模型RAG对话系统。
在部署大模型RAG对话系统页面,配置以下关键参数,其余参数可使用默认配置,更多参数详情请参见大模型RAG对话系统。
https://c.tb.cn/F3.bTuLmy
参数 | 描述 | |
基本信息 | 服务名称 | 您可以自定义。 |
模型来源 | 使用默认的开源公共模型。 | |
资源配置 | 模型类别 | 通常选择通义千问7B。例如,Qwen1.5-7b。 |
资源配置选择 | 按需选择GPU资源配置。例如,ml.gu7i.c16m30.1-gu30。 | |
向量检索库设置 | 版本类型 | 选择Milvus。 |
数据库文件夹名称 | 您在Milvus中自定义的Collection名称。 | |
访问地址 | Milvus实例的内网地址。您可以在Milvus实例的实例详情页面查看。 | |
代理端口 | Milvus实例的Proxy Port。您可以在Milvus实例的实例详情页面查看。 | |
账号 | 配置为root。 | |
密码 | 配置为创建Milvus实例时,您自定义的root用户的密码。 | |
Collection删除 | 是否删除已存在的Collection。取值如下:
| |
专有网络配置 | VPC | 创建Milvus实例选择时的VPC、交换机和安全组。您可以在Milvus实例的实例详情页面查看。 |
交换机 | ||
安全组名称 |
单机部署
当服务状态变为运行中时,表示服务部署成功。
在模型在线服务(EAS)页面,单击查看Web应用,进入WebUI页面。
▶ 步骤二:在 WebUI 中使用 Milvus 向量检索
测试连通性
如下图所示,在 RAG 服务 WebUI 界面的 Settings 选项卡中,系统已自动识别并应用了部署服务时配置的向量检索库设置,并且该设置不支持修改。您可以单击 Connect Milvus,来验证 Milvus 连接是否正常。
连接正常后 Connection Info 显示 Connect Milvus success。
上传数据
如下图所示,您可以在 RAG 服务 WebUI 界面的 Upload 选项卡中,上传 TXT 或 HTML 类型的用户知识库文档。
本文以PAI.txt例,当完成上传后,会显示Upload 1 files [ PAI.txt, ] Success!
。https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20240320/digcac/PAI.txt?spm=a2c6h.12873639.article-detail.14.c55551ae7Jc9WI&file=PAI.txt
您还可以在 Milvus 实例的实例详情页,单击右上角的 Attu Manager,然后输入 Milvus 实例的用户名和密码,可以查看写入的数据和向量等信息。Attu 的相关操作,请参见 Attu操作指南。
https://c.tb.cn/F3.bgEvBV向量检索
如下图所示,您可以在 RAG 服务 WebUI 界面的 Chat 选项卡中,选择 RAG (Retrieval + LLM),然后进行向量检索等一系列实验。
如有疑问,可加入向量检索 Milvus 版用户钉群 59530004993咨询。
/ END /
更多推荐
↙点击阅读原文,了解向量检索Milvus版产品详情!